// 声明这个类所在的包路径，微信支付回调 Activity 必须放在 wxapi 包下
package com.mytestapp.wxapi

// 导入 Android 的基础 Activity 类
import android.app.Activity
import android.os.Bundle
import com.facebook.react.ReactApplication
import com.facebook.react.ReactNativeHost
import com.facebook.react.bridge.Arguments
import com.facebook.react.bridge.WritableMap
// 导入 DeviceEventManagerModule 类，用于向 JavaScript 发送事件
import com.facebook.react.modules.core.DeviceEventManagerModule

// 定义 WXPayEntryActivity 类，继承自 Android 的 Activity 基类
class WXPayEntryActivity : Activity() {
    // 重写 Activity 的 onCreate 方法，这是 Activity 生命周期中的创建方法
    override fun onCreate(savedInstanceState: Bundle?) {
        // 调用父类 Activity 的 onCreate 方法，执行必要的初始化
        super.onCreate(savedInstanceState)
        
        // 创建一个可写入的 Map 对象，用于存储要传递给 JavaScript 的参数
        val params: WritableMap = Arguments.createMap()

        // 获取应用的 Application 对象并尝试转换为 ReactApplication，然后获取 reactNativeHost 实例
        (application as? ReactApplication)?.reactNativeHost
            ?.reactInstanceManager
            ?.currentReactContext
            ?.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
            ?.emit("WeChat_Pay_Resp", params)
        
        finish()
    }
}